<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Object file</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Object_file"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Object_file rootpage-Object_file skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Object file</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>
An <b>object file</b> is a <a href="Computer_file" title="Computer file">file</a> that contains <a href="Machine_code" title="Machine code">machine code</a> or <a href="Bytecode" title="Bytecode">bytecode</a>, as well as other data and <a href="Metadata" title="Metadata">metadata</a>, generated by a <a href="Compiler" title="Compiler">compiler</a> or <a href="Assembler_(computing)" class="mw-redirect" title="Assembler (computing)">assembler</a> from <a href="Source_code" title="Source code">source code</a> during the compilation or assembly process. The machine code that is generated is known as <a href="Object_code" title="Object code">object code</a>.
</p><p>The object code is usually <a href="Relocation_(computing)" title="Relocation (computing)">relocatable</a>, and not usually directly <a href="Executable" title="Executable">executable</a>. There are various formats for object files, and the same machine code can be packaged in different object file formats. An object file may also work like a <a href="Shared_library" title="Shared library">shared library</a>.
</p><p>The metadata that object files may include can be used for linking or debugging; it includes information to resolve symbolic cross-references between different modules, <a href="Relocation_(computing)" title="Relocation (computing)">relocation</a> information, <a href="Stack_unwinding" class="mw-redirect" title="Stack unwinding">stack unwinding</a> information, <a href="Comment_(computer_programming)" title="Comment (computer programming)">comments</a>, program <a href="Symbol_(computing)" class="mw-redirect" title="Symbol (computing)">symbols</a>, and debugging or <a href="Profiling_(computer_programming)" title="Profiling (computer programming)">profiling</a> information. Other metadata may include the date and time of compilation, the compiler name and version, and other identifying information.
</p><p>
The term "object program" dates from at least the 1950s: <style data-mw-deduplicate="TemplateStyles:r1244412712">
/* start https://en.wikipedia.org/ */
.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}
/* end https://en.wikipedia.org/ */
</style></p><blockquote class="templatequote"><p>A term in automatic programming for the machine language program produced by the machine by translating a source program written by the programmer in a language similar to algebraic notation.<sup id="cite_ref-Wrubel_1959_1-0" class="reference"><a href="#cite_note-Wrubel_1959-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></p></blockquote>
<p>A <a href="Linker_(computing)" title="Linker (computing)">linker</a> is used to combine the object code into one executable program or library pulling in precompiled system libraries as needed.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Object_file_formats">Object file formats</h2></div>
<p>There are many different object file formats; originally each type of computer and supporting software had its own unique format, such as the <a href="OS/360_Object_File_Format" title="OS/360 Object File Format">OS/360 Object File Format</a>, but with the advent of <a href="Unix" title="Unix">Unix</a> and other <a href="Porting" title="Porting">portable</a> <a href="Operating_system" title="Operating system">operating systems</a>, some formats, such as <a href="COFF" title="COFF">COFF</a>, <a href="Executable_and_Linkable_Format" title="Executable and Linkable Format">ELF</a>, and <a href="Mach-O" title="Mach-O">Mach-O</a>, have been defined and used on different kinds of systems.
</p><p>Some systems make a distinction between formats which are directly executable and formats which require processing by the <a href="Linker_(computing)" title="Linker (computing)">linker</a>. For example, <a href="OS/360_and_successors" title="OS/360 and successors">OS/360 and successors</a> call the first format a <i>load module</i> and the second an <i>object module</i>. In this case the files have entirely different formats.<sup id="cite_ref-IBM_1973_2-0" class="reference"><a href="#cite_note-IBM_1973-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <a href="DOS" title="DOS">DOS</a> and <a href="Windows" class="mw-redirect" title="Windows">Windows</a> also have different file formats for executable files and object files, such as <a href="Portable_Executable" title="Portable Executable">Portable Executable</a> for executables and COFF for object files in 32-bit and 64-bit Windows.
</p><p>Unix and <a href="Unix-like" title="Unix-like">Unix-like</a> systems have used the same format for <a href="Executable" title="Executable">executable</a> and object files, starting with the original <a href="A.out" title="A.out">a.out</a> format. Some formats can contain machine code for different processors, with the correct one chosen by the operating system when the program is loaded.<sup id="cite_ref-mach-o-fat-binaries_3-0" class="reference"><a href="#cite_note-mach-o-fat-binaries-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FatELF_4-0" class="reference"><a href="#cite_note-FatELF-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>The design and/or choice of an object file format is a key part of overall system design. It affects the performance of the linker and thus <a href="Programmer" title="Programmer">programmer</a> turnaround while a program is being developed. If the format is used for executables, the design also affects the time programs take to <a href="Bootstrapping#Software_loading_and_execution" title="Bootstrapping">begin running</a>, and thus the <a href="Responsiveness" title="Responsiveness">responsiveness</a> for users.
</p><p>The <a href="GNU_Project" title="GNU Project">GNU Project</a>'s <a href="Binary_File_Descriptor_library" title="Binary File Descriptor library">Binary File Descriptor library</a> (BFD library) provides a common <a href="API" title="API">API</a> for the manipulation of object files in a variety of formats.
</p>
<div class="mw-heading mw-heading3"><h3 id="Absolute_files">Absolute files</h3></div>
<p>Many early computers, or small <a href="Microcomputer" title="Microcomputer">microcomputers</a>, support only an absolute object format. Programs are not relocatable; they need to be assembled or compiled to execute at specific, predefined addresses. The file contains no relocation or linkage information. These files can be loaded into read/write memory, or stored in <a href="Read-only_memory" title="Read-only memory">read-only memory</a>. For example, the <a href="Motorola_6800" title="Motorola 6800">Motorola 6800</a> <a href="MIKBUG" title="MIKBUG">MIKBUG</a> monitor contains a routine to read an absolute object file (<a href="SREC_(file_format)" title="SREC (file format)">SREC Format</a>) from <a href="Paper_tape" class="mw-redirect" title="Paper tape">paper tape</a>.<sup id="cite_ref-Wiles-Felix_5-0" class="reference"><a href="#cite_note-Wiles-Felix-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> <a href="DOS" title="DOS">DOS</a> <a href="COM_file#DOS_binary_format" title="COM file">COM files</a> are a more recent example of absolute object files.<sup id="cite_ref-Godse-Godse_2008_6-0" class="reference"><a href="#cite_note-Godse-Godse_2008-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Segmentation">Segmentation</h3></div>
<p>Most object file formats are structured as separate sections of data, each section containing a certain type of data. These sections are known as "segments" due to the term "<a href="Memory_segment" class="mw-redirect" title="Memory segment">memory segment</a>", which was previously a common form of <a href="Memory_management" title="Memory management">memory management</a>. When a program is loaded into memory by a <a href="Loader_(computing)" title="Loader (computing)">loader</a>, the loader allocates various regions of memory to the program. Some of these regions correspond to sections of the object file, and thus are usually known by the same names. Others, such as the stack, only exist at run time. In some cases, <a href="Relocation_(computing)" title="Relocation (computing)">relocation</a> is done by the loader (or linker) to specify the actual memory addresses. However, for many programs or architectures, relocation is not necessary, due to being handled by the <a href="Memory_management_unit" title="Memory management unit">memory management unit</a> or by <a href="Position-independent_code" title="Position-independent code">position-independent code</a>. On some systems the segments of the object file can then be copied (paged) into memory and executed, without needing further processing. On these systems, this may be done <i>lazily</i>, that is, only when the segments are referenced during execution, for example via a <a href="Memory-mapped_file" title="Memory-mapped file">memory-mapped file</a> backed by the object file.
</p><p>Types of data supported by typical object file formats:<sup id="cite_ref-Mauerer_2010_7-0" class="reference"><a href="#cite_note-Mauerer_2010-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Header (descriptive and control information)</li>
<li><a href="Code_segment" title="Code segment">Code segment</a> ("text segment", executable code)</li>
<li><a href="Data_segment" title="Data segment">Data segment</a> (initialized <a href="Static_variable" title="Static variable">static variables</a>)</li>
<li>Read-only data segment (<i><a href="Rodata" class="mw-redirect" title="Rodata">rodata</a>,</i> initialized static <a href="Constant_(computer_programming)" title="Constant (computer programming)">constants</a>)</li>
<li><a href="BSS_segment" class="mw-redirect" title="BSS segment">BSS segment</a> (uninitialized static data, both variables and constants)</li>
<li>External definitions and references for linking</li>
<li><a href="Relocation_(computer_science)" class="mw-redirect" title="Relocation (computer science)">Relocation</a> information</li>
<li><a href="Dynamic_linking" class="mw-redirect" title="Dynamic linking">Dynamic linking</a> information</li>
<li><a href="Debugging" title="Debugging">Debugging</a> information</li></ul>
<p>Segments in different object files may be combined by the linker according to rules specified when the segments are defined. Conventions exist for segments shared between object files; for instance, in <a href="DOS" title="DOS">DOS</a> there are <a href="X86_memory_models" title="X86 memory models">different memory models</a> that specify the names of special segments and whether or not they may be combined.<sup id="cite_ref-Irvine_1993_8-0" class="reference"><a href="#cite_note-Irvine_1993-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>The <a href="Debugging_data_format" title="Debugging data format">debugging data format</a> of debugging information may either be an integral part of the object file format, as in <a href="COFF" title="COFF">COFF</a>, or a semi-independent format which may be used with several object formats, such as <a href="Stabs" title="Stabs">stabs</a> or <a href="DWARF" title="DWARF">DWARF</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Intel_hexadecimal_object_file_format" class="mw-redirect" title="Intel hexadecimal object file format">Intel hexadecimal object file format</a> (typically with file extension .HEX, but sometimes also with .OBJ)</li>
<li><a href="Object_Module_Format_(ICL)" class="mw-redirect" title="Object Module Format (ICL)">Object Module Format (ICL)</a> (OMF for ICL VME)</li>
<li><a href="Object_Module_Format_(Intel)" title="Object Module Format (Intel)">Object Module Format (Intel)</a> (OMF for Intel 8080/8085, OBJ for Intel 8086)</li>
<li><a href="Executable" title="Executable">Executable</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-Wrubel_1959-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Wrubel_1959_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFWrubel1959" class="citation book cs1">Wrubel, Marshal H. (1959). <a rel="nofollow" class="external text" href="https://catalog.hathitrust.org/Record/000429866"><i>A primer of programming for digital computers</i></a>. New York, USA: <a href="McGraw-Hill" class="mw-redirect" title="McGraw-Hill">McGraw-Hill</a>. p. 222<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-31</span></span>.</cite></span>
</li>
<li id="cite_note-IBM_1973-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-IBM_1973_2-0">^</a></b></span> <span class="reference-text"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="http://www.bitsavers.org/pdf/ibm/360/os/R21.7_Apr73/GC28-6538-10_Linkage_Editor_Rel_21_Apr73.pdf"><i>IBM OS Linkage Editor and Loader</i></a> <span class="cs1-format">(PDF)</span>. <a href="IBM_Corporation" class="mw-redirect" title="IBM Corporation">IBM Corporation</a>. 1973. p. 16<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-06</span></span>.</cite></span>
</li>
<li id="cite_note-mach-o-fat-binaries-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-mach-o-fat-binaries_3-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20140904004108/https://developer.apple.com/library/mac/documentation/developertools/conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/20001298-154889">"Universal Binaries and 32-bit/64-bit PowerPC Binaries"</a>. <i>OS X ABI Mach-O File Format Reference</i>. <a href="Apple_Inc." title="Apple Inc.">Apple Inc.</a> 2009-02-04 [2003]. Archived from <a rel="nofollow" class="external text" href="https://developer.apple.com/library/mac/documentation/developertools/conceptual/MachORuntime/Reference/reference.html#//apple_ref/doc/uid/20001298-154889">the original</a> on 2014-09-04.</cite></span>
</li>
<li id="cite_note-FatELF-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-FatELF_4-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://icculus.org/fatelf/">"FatELF: Universal Binaries for Linux"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-08-02</span></span>.</cite></span>
</li>
<li id="cite_note-Wiles-Felix-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Wiles-Felix_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFWilesFelix" class="citation book cs1">Wiles, Mike; Felix, Andre. <a rel="nofollow" class="external text" href="http://bitsavers.org/components/motorola/6800/Engineering_Note_100_MCM6830L7_MIKBUG_MINBUG_ROM_Jul77.pdf"><i>MCM6830L7 MIKBUG/MINIBUG ROM</i></a> <span class="cs1-format">(PDF)</span>. Motorola Semiconductor Products, Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-31</span></span>.</cite></span>
</li>
<li id="cite_note-Godse-Godse_2008-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-Godse-Godse_2008_6-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFGodseGodse2008" class="citation book cs1">Godse, Deepali A.; Godse, Atul P. (2008). <i>Microprocessor</i> (1 ed.). Pune, India: Technical Publications. pp. <span class="nowrap">3–</span>15. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-81-8431-355-0</bdi>.</cite></span>
</li>
<li id="cite_note-Mauerer_2010-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-Mauerer_2010_7-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMauerer2010" class="citation book cs1">Mauerer, Wolfgang (2010). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=-6zvRFEfQ24C&pg=PT1137">"Appendix E. The ELF Binary Format"</a>. <i>Professional Linux Kernel Architecture</i>. <a href="John_Wiley_%26_Sons" class="mw-redirect" title="John Wiley & Sons">John Wiley & Sons</a>. p. Appendix E. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-470-34343-2</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-08-01</span></span>.</cite></span>
</li>
<li id="cite_note-Irvine_1993-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Irvine_1993_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFIrvine1993" class="citation book cs1">Irvine, Kip R. (1993). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/assemblylanguage0000irvi"><i>Assembly language for the IBM-PC</i></a></span> (2 ed.). New York, USA: Macmillan. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-02-359651-1</bdi>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFLevine2000" class="citation book cs1"><a href="John_R._Levine" title="John R. Levine">Levine, John R.</a> (2000) [October 1999]. <a rel="nofollow" class="external text" href="https://archive.today/20130125220014/http://www.iecc.com/linker/linker03.html">"Chapter 3: Object files"</a>. <i>Linkers and Loaders</i>. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). San Francisco, California, USA: <a href="Morgan_Kaufmann" class="mw-redirect" title="Morgan Kaufmann">Morgan Kaufmann</a>. p. 256. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-55860-496-0</bdi>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/42413382">42413382</a>. Archived from <a rel="nofollow" class="external text" href="http://www.iecc.com/linker/linker03.html">the original</a> on 2013-01-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-12</span></span>.</cite> Code: <a rel="nofollow" class="external autonumber" href="https://archive.today/20200114225034/https://linker.iecc.com/code.html">[1]</a><a rel="nofollow" class="external autonumber" href="ftp://ftp.iecc.com/pub/linker/">[2]</a> Errata: <a rel="nofollow" class="external autonumber" href="https://linker.iecc.com/">[3]</a></li>
<li><cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://www.fileformat.info/format/ms-obj/corion.htm"><i>The Microsoft OBJ File Format</i></a>. <a href="Microsoft" title="Microsoft">Microsoft</a>, Product Support Services. Application Note SS0288. <a rel="nofollow" class="external text" href="https://archive.today/20170909092856/http://www.fileformat.info/format/ms-obj/corion.htm">Archived</a> from the original on 2017-09-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-08-21</span></span>.</cite></li>
<li><cite id="CITEREFElliott2002" class="citation web cs1">Elliott, John C. (2002). <a rel="nofollow" class="external text" href="https://www.seasip.info/Cpm/rel.html">"Microsoft REL file format"</a>. <i>seasip.info</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231125154818/https://www.seasip.info/Cpm/rel.html">Archived</a> from the original on 2023-11-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-11-25</span></span>.</cite> (NB. Description of the Microsoft REL file format for relocatable objects, also used by Digital Research.)</li>
<li><cite id="CITEREFElliott2012" class="citation web cs1">Elliott, John C. (2012-06-05) [2000-01-02]. <a rel="nofollow" class="external text" href="https://www.seasip.info/Cpm/prl.html">"PRL file format"</a>. <i>seasip.info</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200126182027/https://www.seasip.info/Cpm/prl.html">Archived</a> from the original on 2020-01-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-26</span></span>.</cite> <a rel="nofollow" class="external autonumber" href="https://www.seasip.info/Cpm/amsfid.html#PRL%20file%20format">[4]</a></li>
<li><cite id="CITEREFFraserHanson1982" class="citation journal cs1"><a href="Christopher_W._Fraser" class="mw-redirect" title="Christopher W. Fraser">Fraser, Christopher "Chris" W.</a>; <a href="David_Hanson_(computer_scientist)" title="David Hanson (computer scientist)">Hanson, David R.</a> (April–May 1982) [1981-09-09, 1981-11-02]. <a rel="nofollow" class="external text" href="https://www.cs.tufts.edu/~nr/cs257/archive/david-hanson/linker-scan.pdf">"A Machine-Independent Linker"</a> <span class="cs1-format">(PDF)</span>. <i>Software: Practice and Experience</i>. <b>12</b> (4). University of Arizona, Tucson, Arizona, USA: <a href="John_Wiley_%26_Sons%2C_Ltd." class="mw-redirect" title="John Wiley & Sons, Ltd.">John Wiley & Sons, Ltd.</a>: <span class="nowrap">351–</span>366. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.4380120407">10.1002/spe.4380120407</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0038-0644">0038-0644</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231128190559/https://www.cs.tufts.edu/~nr/cs257/archive/david-hanson/linker-scan.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2023-11-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-11-28</span></span>.</cite> (16 pages)</li>
<li><cite id="CITEREFMontuelleWillers1979" class="citation conference cs1 cs1-prop-location-test">Montuelle, Jean; Willers, Ian (25–28 September 1979) [October 1978]. Written at CERN, Geneve, Switzerland. <a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/29512298"><i>Cross Software Using a Universal Object Module Format, CUFOM</i></a>. Euro IFIP, London, UK. CERN-DD/78/20<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-11-28</span></span>.</cite> (1+23 pages)</li>
<li><cite class="citation cs2"><i>Microprocessor Universal Format for Object Modules, MUFOM</i> (draft document), <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a> Working Group, P695lD2</cite></li>
<li><cite id="CITEREFMontuelleWillers1982" class="citation journal cs1">Montuelle, Jean; Willers, Ian (September 1982). <a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.4380120909">"Letter to the Editor"</a>. <i>Software: Practice and Experience</i>. <b>12</b> (9). CERN, Geneve, Switzerland: <a href="John_Wiley_%26_Sons%2C_Ltd." class="mw-redirect" title="John Wiley & Sons, Ltd.">John Wiley & Sons, Ltd.</a>: 883–884 [884]. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.4380120909">10.1002/spe.4380120909</a></span>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0038-0644">0038-0644</a>.</cite> (1 page) (NB. Describes the history and relationship of IEEE 695 with CUFOM and MUFOM.)</li>
<li><cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/159333"><i>IEEE 695-1990: IEEE Standard for Microprocessor Universal Format for Object Modules</i></a>. <a href="IEEE" class="mw-redirect" title="IEEE">IEEE</a>. 1990-02-05. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIEEESTD.1990.101062">10.1109/IEEESTD.1990.101062</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-7381-3028-6</bdi>.</cite> (NB. Superseeds IEEE 695-1985 (1985-09-09)).</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Executable_and_object_file_formats118" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Executable_and_object_file_formats118" style="font-size:114%;margin:0 4em"><a href="Executable" title="Executable">Executable</a> and formats</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="A.out" title="A.out">a.out</a></li>
<li><a href="Arm_Image_Format" title="Arm Image Format">AIF</a></li>
<li><a href="COFF" title="COFF">COFF</a></li>
<li><a href="CMD_file_(CP/M)" title="CMD file (CP/M)">CMD</a></li>
<li><a href="COM_file" title="COM file">COM</a></li>
<li><a href="ECOFF" title="ECOFF">ECOFF</a></li>
<li><a href="Executable_and_Linkable_Format" title="Executable and Linkable Format">ELF</a></li>
<li><a href="GOFF" title="GOFF">GOFF</a></li>
<li><a href="Amiga_Hunk" title="Amiga Hunk">Hunk</a></li>
<li><a href="Mach-O" title="Mach-O">Mach-O</a></li>
<li><a href="DOS_MZ_executable" title="DOS MZ executable">MZ</a></li>
<li><a href="New_Executable" title="New Executable">NE</a></li>
<li><a href="Object_Module_Format_(Intel)" title="Object Module Format (Intel)">OMF</a></li>
<li><a href="OS/360_Object_File_Format" title="OS/360 Object File Format">OS/360</a></li>
<li><a href="Portable_Executable" title="Portable Executable">PE</a></li>
<li><a href="Preferred_Executable_Format" title="Preferred Executable Format">PEF</a></li>
<li><a href=".X_(Human68K)" class="mw-redirect" title=".X (Human68K)">X</a></li>
<li><a href="XCOFF" title="XCOFF">XCOFF</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div>
<ul><li><a href="Comparison_of_executable_file_formats" title="Comparison of executable file formats">Comparison of formats</a></li>
<li><a href=".exe" title=".exe">.exe</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-21" href="https://en.wikipedia.org/wiki/?title=Object_file&oldid=1301795344">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>